home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Aventura / TheBearsAdventure.swf / scripts / frame_6 / PlaceObject2_432_69 / CLIPACTIONRECORD onClipEvent(enterFrame).as next >
Encoding:
Text File  |  2005-08-04  |  31.5 KB  |  782 lines

  1. onClipEvent(enterFrame){
  2.    if(_visible)
  3.    {
  4.       if(_Y > 611)
  5.       {
  6.          _Y = 0;
  7.       }
  8.       if(sost == 10)
  9.       {
  10.          if(_currentframe < frame_fall || _currentframe > frame_fall_last)
  11.          {
  12.             gotoAndPlay(frame_fall);
  13.          }
  14.          if(_Y < start_y)
  15.          {
  16.             _Y = _Y + world_fall_speed;
  17.          }
  18.          else
  19.          {
  20.             _Y = start_y;
  21.             sost = 1;
  22.             ai_sost = 2;
  23.             turn_count = max_turn_count;
  24.          }
  25.       }
  26.       else if(sost == 9)
  27.       {
  28.          if(_currentframe < frame_dead || _currentframe > frame_dead_last)
  29.          {
  30.             gotoAndPlay(frame_dead);
  31.          }
  32.          if(dead_count < 43)
  33.          {
  34.             dead_count++;
  35.             if(dead_count == 32)
  36.             {
  37.                if(!_level0.no_sound)
  38.                {
  39.                   _level0.snds[_level0.snd_frozen_explode].start();
  40.                }
  41.             }
  42.          }
  43.          else
  44.          {
  45.             _level0.snowball_count = _level0.snowball_count + 1;
  46.             _level0.bonus.duplicateMovieClip("bonus" + _level0.snowball_count,1000 + _level0.snowball_count);
  47.             do
  48.             {
  49.                bonus = random(8) + 1;
  50.             }
  51.             while(bonus == 4);
  52.             
  53.             eval("_level0.bonus" + _level0.snowball_count).gotoAndStop(bonus);
  54.             eval("_level0.bonus" + _level0.snowball_count)._x = _X;
  55.             eval("_level0.bonus" + _level0.snowball_count)._y = _Y;
  56.             eval("_level0.bonus" + _level0.snowball_count)._visible = true;
  57.             if(super_bonus)
  58.             {
  59.                super_bonus = false;
  60.                if(!_level0.no_sound)
  61.                {
  62.                   _level0.snds[_level0.snd_greatkick].start();
  63.                }
  64.                var i = 1;
  65.                while(eval("_level0.L" + _level0.global_level + "_bonus" + i + "i") !== undefined)
  66.                {
  67.                   _level0.snowball_count = _level0.snowball_count + 1;
  68.                   _level0.bonus.duplicateMovieClip("bonus" + _level0.snowball_count,1000 + _level0.snowball_count);
  69.                   eval("_level0.bonus" + _level0.snowball_count).gotoAndStop(4);
  70.                   eval("_level0.bonus" + _level0.snowball_count)._x = Number(eval("_level0.L" + _level0.global_level + "_bonus" + i + "i")) * 40 + 20;
  71.                   eval("_level0.bonus" + _level0.snowball_count)._y = (- (13 - Number(eval("_level0.L" + _level0.global_level + "_bonus" + i + "j")))) * 40;
  72.                   eval("_level0.bonus" + _level0.snowball_count).start_y = Number(eval("_level0.L" + _level0.global_level + "_bonus" + i + "j")) * 40 + 12;
  73.                   eval("_level0.bonus" + _level0.snowball_count)._visible = true;
  74.                   i++;
  75.                }
  76.             }
  77.             this.removeMovieClip();
  78.          }
  79.       }
  80.       else if(sost == 8 && knock_index != undefined)
  81.       {
  82.          if(knock_index < knock_speed_y.length)
  83.          {
  84.             dy = - knock_speed_y[knock_index];
  85.          }
  86.          else if(knock_index < knock_speed_y.length * 2)
  87.          {
  88.             dy = knock_speed_y[knock_speed_y.length * 2 - knock_index - 1];
  89.          }
  90.          else
  91.          {
  92.             dy = knock_speed_y[0];
  93.          }
  94.          knock_index++;
  95.          if(_Y + dy >= 0)
  96.          {
  97.             _Y = _Y + dy;
  98.          }
  99.          else if(knock_index < knock_speed_y.length)
  100.          {
  101.             knock_index = knock_speed_y.length;
  102.          }
  103.          if(_xscale < 0)
  104.          {
  105.             if(_X <= 21)
  106.             {
  107.                _X = 21 + knock_speed_x;
  108.                _xscale = - _xscale;
  109.             }
  110.             else if(_level0.pole[Math.floor(_Y / 40)][Math.floor((_X - 8 - knock_speed_x) / 40)] != 0 && _level0.pole[Math.floor(_Y / 40)][Math.floor((_X - 8) / 40)] == 0)
  111.             {
  112.                _xscale = - _xscale;
  113.             }
  114.             else
  115.             {
  116.                _X = _X - knock_speed_x;
  117.             }
  118.          }
  119.          else if(_X >= 781)
  120.          {
  121.             _X = 781 - knock_speed_x;
  122.             _xscale = - _xscale;
  123.          }
  124.          else if(_level0.pole[Math.floor(_Y / 40)][Math.floor((_X + 6 + knock_speed_x) / 40)] != 0 && _level0.pole[Math.floor(_Y / 40)][Math.floor((_X + 6) / 40)] == 0)
  125.          {
  126.             _xscale = - _xscale;
  127.          }
  128.          else
  129.          {
  130.             _X = _X + knock_speed_x;
  131.          }
  132.          cy = Math.floor((_Y + 29) / 40);
  133.          cx0 = Math.floor((_X - 8) / 40);
  134.          cx1 = Math.floor((_X + 6) / 40);
  135.          if(knock_index > knock_speed_y.length && (_level0.pole[cy][cx0] != 0 || _level0.pole[cy][cx1] != 0) && (_level0.pole[Math.floor((_Y + 29 - dy) / 40)][cx0] == 0 || _level0.pole[Math.floor((_Y + 29 - dy) / 40)][cx1] == 0))
  136.          {
  137.             if(random(2) == 0 || knock_skip || cy > 10)
  138.             {
  139.                if(_level0.pole[cy][cx1] == 3)
  140.                {
  141.                   dx = _X + 6 - cx1 * 40;
  142.                   _Y = cy * 40 + 8 - dx;
  143.                }
  144.                else if(_level0.pole[cy][cx0] == 4)
  145.                {
  146.                   dx = _X - 8 - cx0 * 40;
  147.                   _Y = cy * 40 + dx - 30;
  148.                }
  149.                else
  150.                {
  151.                   _Y = cy * 40 - 29;
  152.                }
  153.                sost = 9;
  154.                dead_count = 0;
  155.                gotoAndPlay(frame_dead);
  156.             }
  157.             else
  158.             {
  159.                knock_skip = true;
  160.             }
  161.          }
  162.       }
  163.       else
  164.       {
  165.          found = false;
  166.          land = false;
  167.          if(sost == 3)
  168.          {
  169.             if((_currentframe < frame_fall || _currentframe > frame_fall_last) && ai_sost != 9)
  170.             {
  171.                gotoAndPlay(frame_fall);
  172.             }
  173.             fall_speed = world_fall_speed;
  174.             cy = Math.floor((_Y + 28 + fall_speed) / 40);
  175.             cx0 = Math.floor((_X - 8) / 40);
  176.             cx1 = Math.floor((_X + 6) / 40);
  177.             if(_Y > 0 && _level0.pole[cy][cx1] == 3)
  178.             {
  179.                dx = _X + 6 - cx1 * 40;
  180.                if(_Y + fall_speed < cy * 40 + 8 - dx)
  181.                {
  182.                   _Y = _Y + fall_speed;
  183.                   fall_count += fall_speed;
  184.                }
  185.                else
  186.                {
  187.                   _Y = cy * 40 + 8 - dx;
  188.                   if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  189.                   {
  190.                      sost = 2;
  191.                      jump_index = 4;
  192.                      fall_count = 0;
  193.                   }
  194.                   else
  195.                   {
  196.                      if(plus_mode && ai_sost != 2 && ai_sost != 8 && ai_sost != 9)
  197.                      {
  198.                         ai_sost = 4;
  199.                      }
  200.                      sost = 1;
  201.                      land = true;
  202.                   }
  203.                }
  204.                found = true;
  205.             }
  206.             else if(_Y > 0 && _level0.pole[cy][cx0] == 4)
  207.             {
  208.                dx = _X - 8 - cx0 * 40;
  209.                if(_Y + fall_speed < cy * 40 + dx - 30)
  210.                {
  211.                   _Y = _Y + fall_speed;
  212.                   fall_count += fall_speed;
  213.                }
  214.                else
  215.                {
  216.                   _Y = cy * 40 + dx - 30;
  217.                   if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  218.                   {
  219.                      sost = 2;
  220.                      jump_index = 2;
  221.                      fall_count = 0;
  222.                   }
  223.                   else
  224.                   {
  225.                      if(plus_mode && ai_sost != 2 && ai_sost != 8 && ai_sost != 9)
  226.                      {
  227.                         ai_sost = 4;
  228.                      }
  229.                      sost = 1;
  230.                      land = true;
  231.                   }
  232.                }
  233.                found = true;
  234.             }
  235.             if(!found)
  236.             {
  237.                if(_Y < 0 || Math.floor((_Y + 28) / 40) == Math.floor((_Y + 28 + world_fall_speed) / 40))
  238.                {
  239.                   _Y = _Y + world_fall_speed;
  240.                   fall_count += world_fall_speed;
  241.                }
  242.                else
  243.                {
  244.                   var fall_speed = world_fall_speed;
  245.                   while(fall_speed > 0)
  246.                   {
  247.                      cy = Math.floor((_Y + 28 + fall_speed) / 40);
  248.                      cx0 = Math.floor((_X - 8) / 40);
  249.                      cx1 = Math.floor((_X + 6) / 40);
  250.                      if(_Y > 520 || _level0.pole[cy][cx0] == 0 && _level0.pole[cy][cx1] == 0)
  251.                      {
  252.                         _Y = _Y + fall_speed;
  253.                         fall_count += fall_speed;
  254.                         break;
  255.                      }
  256.                      if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  257.                      {
  258.                         sost = 2;
  259.                         jump_index = 4;
  260.                         fall_count = 0;
  261.                         break;
  262.                      }
  263.                      sost = 1;
  264.                      land = true;
  265.                      if(ai_sost != 8 && ai_sost != 9)
  266.                      {
  267.                         ai_sost = 1;
  268.                      }
  269.                      fall_speed--;
  270.                   }
  271.                }
  272.             }
  273.          }
  274.          if(sost == 1)
  275.          {
  276.             var i = 1;
  277.             while(i <= _level0.num_monsters)
  278.             {
  279.                if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  280.                {
  281.                   if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && eval("_level0.monster" + i).ai_sost != 2 && (_X + 10 >= eval("_level0.monster" + i)._x - 27 && _X - 12 <= eval("_level0.monster" + i)._x + 25 && (_Y + 28 >= eval("_level0.monster" + i)._y - 8 && _Y - 8 <= eval("_level0.monster" + i)._y + 28)))
  282.                   {
  283.                      if(eval("_level0.monster" + i)._xscale == _xscale && ai_sost != 9 && ai_sost != 2)
  284.                      {
  285.                         ai_sost = 2;
  286.                         turn_count = max_turn_count;
  287.                         break;
  288.                      }
  289.                   }
  290.                }
  291.                i++;
  292.             }
  293.          }
  294.          if(sost == 2 && jump_index != undefined)
  295.          {
  296.             _Y = _Y - jump_speed[jump_index];
  297.             jump_index++;
  298.             var dx = 12;
  299.             var i = 1;
  300.             while(i <= _level0.num_monsters)
  301.             {
  302.                if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  303.                {
  304.                   if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_X + dx >= eval("_level0.monster" + i)._x - 27 && _X - dx <= eval("_level0.monster" + i)._x + 25 && (_Y - 16 >= eval("_level0.monster" + i)._y - 8 && _Y - 16 <= eval("_level0.monster" + i)._y + 28)))
  305.                   {
  306.                      eval("_level0.monster" + i).sost = 2;
  307.                      eval("_level0.monster" + i).jump_index = 2;
  308.                      eval("_level0.monster" + i).fall_count = 0;
  309.                      break;
  310.                   }
  311.                }
  312.                i++;
  313.             }
  314.             if(jump_index >= jump_speed.length)
  315.             {
  316.                jump_index = undefined;
  317.                sost = 3;
  318.                if(ai_sost != 8 && ai_sost != 9)
  319.                {
  320.                   ai_sost = 1;
  321.                }
  322.             }
  323.          }
  324.          dx = 0;
  325.          dy = 0;
  326.          if(_level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X - 12) / 40)] == 4 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X + 10) / 40)] == 4 && sost == 1)
  327.          {
  328.             dx = 1;
  329.             dy = 1;
  330.          }
  331.          else if(_level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X - 12) / 40)] == 3 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X + 10) / 40)] == 3 && sost == 1)
  332.          {
  333.             dx = -1;
  334.             dy = 1;
  335.          }
  336.          if(dx != 0 && dy != 0)
  337.          {
  338.             if(plus_mode && ai_sost != 2 && ai_sost != 8 && ai_sost != 9)
  339.             {
  340.                ai_sost = 4;
  341.             }
  342.             var found_monster = false;
  343.             var i = 1;
  344.             while(i <= _level0.num_monsters)
  345.             {
  346.                if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  347.                {
  348.                   if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_Y + 28 + dy >= eval("_level0.monster" + i)._y - 11 && _Y - 11 + dy <= eval("_level0.monster" + i)._y + 28) && !(eval("_level0.monster" + i).ai_sost == 9 && !eval("_level0.monster" + i).snow_ball))
  349.                   {
  350.                      right = false;
  351.                      left = false;
  352.                      if(_X + 10 + dx + speed >= eval("_level0.monster" + i)._x - 27 && _X + 10 + dx <= eval("_level0.monster" + i)._x - 27)
  353.                      {
  354.                         right = true;
  355.                      }
  356.                      if(_X - 12 + dx >= eval("_level0.monster" + i)._x + 25 && _X - 12 + dx - speed <= eval("_level0.monster" + i)._x + 25)
  357.                      {
  358.                         left = true;
  359.                      }
  360.                      if(right || left)
  361.                      {
  362.                         if(ai_sost != 9 && ai_sost != 2 && (right && _xscale > 0 || left && _xscale < 0))
  363.                         {
  364.                            ai_sost = 2;
  365.                            turn_count = max_turn_count;
  366.                         }
  367.                         dx = 0;
  368.                         dy = 0;
  369.                         break;
  370.                      }
  371.                   }
  372.                }
  373.                i++;
  374.             }
  375.             _X = _X + dx;
  376.             _Y = _Y + dy;
  377.          }
  378.          else if(!found)
  379.          {
  380.             if(sost == 1)
  381.             {
  382.                if(_Y > 520 || _level0.pole[Math.floor((_Y + 29) / 40)][Math.floor((_X - 8) / 40)] == 0 && _level0.pole[Math.floor((_Y + 29) / 40)][Math.floor((_X + 6) / 40)] == 0)
  383.                {
  384.                   sost = 3;
  385.                   if(ai_sost != 8 && ai_sost != 9)
  386.                   {
  387.                      ai_sost = 1;
  388.                   }
  389.                }
  390.                else
  391.                {
  392.                   if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  393.                   {
  394.                      sost = 2;
  395.                      jump_index = 0;
  396.                   }
  397.                   else
  398.                   {
  399.                      sost = 1;
  400.                   }
  401.                   fall_count = 0;
  402.                }
  403.             }
  404.          }
  405.          switch(ai_sost)
  406.          {
  407.             case 9:
  408.                if(frozen_count > 0)
  409.                {
  410.                   if(snow_ball && (_currentframe < frame_ball || _currentframe > frame_ball_last))
  411.                   {
  412.                      gotoAndPlay(frame_ball);
  413.                   }
  414.                   if(snow_ball_hit && !snow_ball)
  415.                   {
  416.                      gotoAndPlay(frame_frozen_last - frozen_count);
  417.                      snow_ball_hit = false;
  418.                      snow_ball_move = false;
  419.                   }
  420.                   frozen_count--;
  421.                   if(frozen_count > 99)
  422.                   {
  423.                      snow_ball = true;
  424.                   }
  425.                   else
  426.                   {
  427.                      gotoAndPlay(frame_frozen_last - frozen_count);
  428.                      snow_ball = false;
  429.                      snow_ball_move = false;
  430.                   }
  431.                }
  432.                else
  433.                {
  434.                   ai_sost = 8;
  435.                   wet_count = 16;
  436.                   snow_ball = false;
  437.                   snow_ball_move = false;
  438.                }
  439.             case 1:
  440.             case 3:
  441.             case 4:
  442.                if(sost == 1 || sost == 2 && jump_side)
  443.                {
  444.                   if(ai_sost == 1)
  445.                   {
  446.                      speed = 4;
  447.                   }
  448.                   if(ai_sost == 3)
  449.                   {
  450.                      speed = 10;
  451.                   }
  452.                   if(ai_sost == 4)
  453.                   {
  454.                      speed = 12;
  455.                   }
  456.                   if(ai_sost == 9)
  457.                   {
  458.                      speed = 4;
  459.                   }
  460.                   if(_xscale < 0)
  461.                   {
  462.                      if(_X <= 21)
  463.                      {
  464.                         if(ai_sost != 9)
  465.                         {
  466.                            ai_sost = 2;
  467.                            turn_count = max_turn_count;
  468.                         }
  469.                      }
  470.                      else if(_Y < 0)
  471.                      {
  472.                         sost = 3;
  473.                      }
  474.                      else
  475.                      {
  476.                         var found_monster = false;
  477.                         var i = 1;
  478.                         while(i <= _level0.num_monsters)
  479.                         {
  480.                            if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  481.                            {
  482.                               if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_Y + 28 >= eval("_level0.monster" + i)._y - 11 && _Y - 11 <= eval("_level0.monster" + i)._y + 28) && !(eval("_level0.monster" + i).ai_sost == 9 && !eval("_level0.monster" + i).snow_ball))
  483.                               {
  484.                                  right = false;
  485.                                  left = false;
  486.                                  if(_X + 10 + speed >= eval("_level0.monster" + i)._x - 27 && _X + 10 <= eval("_level0.monster" + i)._x - 27)
  487.                                  {
  488.                                     right = true;
  489.                                  }
  490.                                  if(_X - 12 >= eval("_level0.monster" + i)._x + 25 && _X - 12 - speed <= eval("_level0.monster" + i)._x + 25)
  491.                                  {
  492.                                     left = true;
  493.                                  }
  494.                                  if(right || left)
  495.                                  {
  496.                                     if(ai_sost != 9 && ai_sost != 2 && left)
  497.                                     {
  498.                                        ai_sost = 2;
  499.                                        turn_count = max_turn_count;
  500.                                        found_monster = true;
  501.                                        break;
  502.                                     }
  503.                                  }
  504.                               }
  505.                            }
  506.                            i++;
  507.                         }
  508.                         if(!found_monster)
  509.                         {
  510.                            if(_level0.pole[Math.floor((_Y + 28 - speed) / 40)][Math.floor((_X - 8 - speed) / 40)] == 4 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X - 8) / 40)] == 4)
  511.                            {
  512.                               if(ai_sost != 9 || move_snow_ball)
  513.                               {
  514.                                  _X = _X - speed;
  515.                                  _Y = _Y - speed;
  516.                                  move_snow_ball = false;
  517.                               }
  518.                            }
  519.                            else
  520.                            {
  521.                               cx = Math.floor((_X - 8 - speed) / 40);
  522.                               cy = Math.floor((_Y + 28) / 40);
  523.                               switch(_level0.pole[cy][cx])
  524.                               {
  525.                                  case 0:
  526.                                  case 1:
  527.                                     if(ai_sost != 9 || move_snow_ball)
  528.                                     {
  529.                                        if(_level0.pole[Math.floor((_Y + 28 + speed) / 40)][Math.floor((_X + 6) / 40)] == 3)
  530.                                        {
  531.                                           _Y = _Y + speed;
  532.                                        }
  533.                                        _X = _X - speed;
  534.                                        move_snow_ball = false;
  535.                                     }
  536.                                     jump_side = false;
  537.                                     break;
  538.                                  case 2:
  539.                                     if(ai_sost != 9)
  540.                                     {
  541.                                        if(cy >= 2 && sost != 2 && (_level0.pole[cy - 1][cx] == 0 || _level0.pole[cy - 2][cx] == 0) && (random(2) == 0 || _level0.hero.sost != 3 && Math.round((_level0.hero._y + 28) / 40) + 1 < cy))
  542.                                        {
  543.                                           if(_currentframe < frame_jump || _currentframe > frame_jump_last)
  544.                                           {
  545.                                              gotoAndPlay(frame_jump);
  546.                                           }
  547.                                           jump_index = 0;
  548.                                           sost = 2;
  549.                                           jump_side = true;
  550.                                        }
  551.                                        else if(!jump_side)
  552.                                        {
  553.                                           ai_sost = 2;
  554.                                           turn_count = max_turn_count;
  555.                                        }
  556.                                     }
  557.                                     break;
  558.                                  case 3:
  559.                                     if(ai_sost != 9 || move_snow_ball)
  560.                                     {
  561.                                        _X = _X - speed;
  562.                                        _Y = _Y + speed;
  563.                                        move_snow_ball = false;
  564.                                     }
  565.                                     break;
  566.                                  case 4:
  567.                                     if(ai_sost != 9 || move_snow_ball)
  568.                                     {
  569.                                        _X = _X - speed;
  570.                                        _Y = _Y - speed;
  571.                                        move_snow_ball = false;
  572.                                     }
  573.                               }
  574.                            }
  575.                         }
  576.                      }
  577.                   }
  578.                   else if(_X >= 781)
  579.                   {
  580.                      if(ai_sost != 9)
  581.                      {
  582.                         ai_sost = 2;
  583.                         turn_count = max_turn_count;
  584.                      }
  585.                   }
  586.                   else if(_Y < 0)
  587.                   {
  588.                      sost = 3;
  589.                   }
  590.                   else
  591.                   {
  592.                      var found_monster = false;
  593.                      var i = 1;
  594.                      while(i <= _level0.num_monsters)
  595.                      {
  596.                         if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  597.                         {
  598.                            if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_Y + 28 >= eval("_level0.monster" + i)._y - 11 && _Y - 11 <= eval("_level0.monster" + i)._y + 28) && !(eval("_level0.monster" + i).ai_sost == 9 && !eval("_level0.monster" + i).snow_ball))
  599.                            {
  600.                               right = false;
  601.                               left = false;
  602.                               if(_X + 10 + speed >= eval("_level0.monster" + i)._x - 27 && _X + 10 <= eval("_level0.monster" + i)._x - 27)
  603.                               {
  604.                                  right = true;
  605.                               }
  606.                               if(_X - 12 >= eval("_level0.monster" + i)._x + 25 && _X - 12 - speed <= eval("_level0.monster" + i)._x + 25)
  607.                               {
  608.                                  left = true;
  609.                               }
  610.                               if(right || left)
  611.                               {
  612.                                  if(ai_sost != 9 && ai_sost != 2 && right)
  613.                                  {
  614.                                     ai_sost = 2;
  615.                                     turn_count = max_turn_count;
  616.                                     found_monster = true;
  617.                                     break;
  618.                                  }
  619.                               }
  620.                            }
  621.                         }
  622.                         i++;
  623.                      }
  624.                      if(!found_monster)
  625.                      {
  626.                         if(_level0.pole[Math.floor((_Y + 28 - speed) / 40)][Math.floor((_X + 6 + speed) / 40)] == 3 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X + 6) / 40)] == 3)
  627.                         {
  628.                            if(ai_sost != 9 || move_snow_ball)
  629.                            {
  630.                               _X = _X + speed;
  631.                               _Y = _Y - speed;
  632.                               move_snow_ball = false;
  633.                            }
  634.                         }
  635.                         else
  636.                         {
  637.                            cx = Math.floor((_X + 6 + speed) / 40);
  638.                            cy = Math.floor((_Y + 28) / 40);
  639.                            switch(_level0.pole[cy][cx])
  640.                            {
  641.                               case 0:
  642.                               case 1:
  643.                                  if(ai_sost != 9 || move_snow_ball)
  644.                                  {
  645.                                     if(_level0.pole[Math.floor((_Y + 28 + speed) / 40)][Math.floor((_X - 8) / 40)] == 4)
  646.                                     {
  647.                                        _Y = _Y + speed;
  648.                                     }
  649.                                     _X = _X + speed;
  650.                                     move_snow_ball = false;
  651.                                  }
  652.                                  jump_side = false;
  653.                                  break;
  654.                               case 2:
  655.                                  if(ai_sost != 9)
  656.                                  {
  657.                                     if(cy >= 2 && sost != 2 && (_level0.pole[cy - 1][cx] == 0 || _level0.pole[cy - 2][cx] == 0) && (random(2) == 0 || _level0.hero.sost != 3 && Math.round((_level0.hero._y + 28) / 40) + 1 < cy))
  658.                                     {
  659.                                        if(_currentframe < frame_jump || _currentframe > frame_jump_last)
  660.                                        {
  661.                                           gotoAndPlay(frame_jump);
  662.                                        }
  663.                                        jump_index = 0;
  664.                                        sost = 2;
  665.                                        jump_side = true;
  666.                                     }
  667.                                     else if(!jump_side)
  668.                                     {
  669.                                        ai_sost = 2;
  670.                                        turn_count = max_turn_count;
  671.                                     }
  672.                                  }
  673.                                  break;
  674.                               case 3:
  675.                                  if(ai_sost != 9 || move_snow_ball)
  676.                                  {
  677.                                     _X = _X + speed;
  678.                                     _Y = _Y - speed;
  679.                                     move_snow_ball = false;
  680.                                  }
  681.                                  break;
  682.                               case 4:
  683.                                  if(ai_sost != 9 || move_snow_ball)
  684.                                  {
  685.                                     _X = _X + speed;
  686.                                     _Y = _Y + speed;
  687.                                     move_snow_ball = false;
  688.                                  }
  689.                            }
  690.                         }
  691.                      }
  692.                   }
  693.                }
  694.                if(ai_sost == 1 && Math.round(_level0.hero._y / 40) == Math.round(_Y / 40))
  695.                {
  696.                   ai_sost = 3;
  697.                }
  698.                else if(sost == 1 && (ai_sost == 1 || ai_sost == 3) && (Math.round((_level0.hero._y + 28) / 40) + 1 < Math.round((_Y + 28) / 40) && (_level0.hero.sost != 3 && _level0.hero.sost != 4 && _level0.hero.sost != 9 && _level0.hero.sost != 10) || random(64) == 0 && ai_sost == 1 && Math.round((_Y + 28) / 40) > 2) && _level0.pole[Math.floor((_Y - 13) / 40)][Math.floor(_X / 40)] == 1)
  699.                {
  700.                   if(_currentframe < frame_jump || _currentframe > frame_jump_last)
  701.                   {
  702.                      gotoAndPlay(frame_jump);
  703.                   }
  704.                   jump_index = 0;
  705.                   sost = 2;
  706.                }
  707.                if(sost == 1)
  708.                {
  709.                   if(ai_sost == 1)
  710.                   {
  711.                      if(_currentframe < frame_walk || _currentframe > frame_walk_last)
  712.                      {
  713.                         gotoAndPlay(frame_walk);
  714.                      }
  715.                   }
  716.                   else if(ai_sost == 3)
  717.                   {
  718.                      if(_currentframe < frame_run || _currentframe > frame_run_last)
  719.                      {
  720.                         gotoAndPlay(frame_run);
  721.                      }
  722.                   }
  723.                   else if(ai_sost == 4)
  724.                   {
  725.                      if(_currentframe < frame_roll || _currentframe > frame_roll_last)
  726.                      {
  727.                         gotoAndPlay(frame_roll);
  728.                      }
  729.                   }
  730.                }
  731.                break;
  732.             case 2:
  733.                if(_currentframe < frame_turn || _currentframe > frame_turn_last)
  734.                {
  735.                   gotoAndPlay(frame_turn);
  736.                }
  737.                if(turn_count > 0)
  738.                {
  739.                   turn_count--;
  740.                }
  741.                else
  742.                {
  743.                   ai_sost = 1;
  744.                   _xscale = - _xscale;
  745.                }
  746.                break;
  747.             case 8:
  748.                if(_currentframe < frame_wet || _currentframe > frame_wet_last)
  749.                {
  750.                   gotoAndPlay(frame_wet);
  751.                }
  752.                if(wet_count > 0)
  753.                {
  754.                   wet_count--;
  755.                }
  756.                else
  757.                {
  758.                   ai_sost = 1;
  759.                }
  760.          }
  761.          if((sost == 1 || sost == 2 || sost == 3) && (ai_sost == 1 || ai_sost == 2 || ai_sost == 3))
  762.          {
  763.             if(_xscale > 0)
  764.             {
  765.                var dx = 12;
  766.             }
  767.             else
  768.             {
  769.                var dx = -12;
  770.             }
  771.             if(!_level0.hero.immortal && (_level0.hero.sost == 1 || _level0.hero.sost == 2 || _level0.hero.sost == 3) && (_X + dx >= _level0.hero._x - 27 && _X + dx <= _level0.hero._x + 25) && (_Y + 28 >= _level0.hero._y - 8 && _Y - 16 <= _level0.hero._y + 28))
  772.             {
  773.                _level0.hero.sost = 9;
  774.                _level0.hero.death_index = 0;
  775.                _level0.hero._xscale = _xscale;
  776.                _level0.hero.gotoAndPlay(_level0.hero.frame_death);
  777.             }
  778.          }
  779.       }
  780.    }
  781. }
  782.